package com.wing.purchase.model.response;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 采购入库作业VO
 *
 * @author
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class PurchaseStorageWorkVO {

    /**
     * ID
     */
    private Long id;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    /**
     * 创建者
     */
    private Long creator;

    /**
     * 修改者
     */
    private Long modifier;

    /**
     * 创建人
     */
    private String creatorName;

    /**
     * 修改人
     */
    private String modifierName;

    /**
     * 备注
     */
    private String remark;

    /**
     * 采购入库签收ID
     */
    private Long purchaseSignForId;

    /**
     * 入库作业单编号
     */
    private String workNo;

    /**
     * 入库签收单编号
     */
    private String signNo;

    /**
     * 采购签收任务编号
     */
    private String logisticsNo;

    /**
     * 运单编号
     */
    private String waybillNo;

    /**
     * 物料ID
     */
    private Long productDetailId;

    /**
     * 物料编码
     */
    private String skuCode;

    /**
     * 物料名称
     */
    private String skuName;

    /**
     * 物料规格
     */
    private String skuSpec;

    /**
     * 主计量单位名称
     */
    private String mainUnitName;

    /**
     * 主计量单位换算率
     */
    private String mainUnitRate;

    /**
     * 辅计量单位名称
     */
    private String subUnitName;

    /**
     * 辅计量单位换算率
     */
    private String subUnitRate;

    /**
     * 入库数量
     */
    private BigDecimal quantity;
    private BigDecimal price;
    private BigDecimal totalPrice;

    /**
     * 入库类型
     */
    private Long warehouseInventoryTypeId;

    /**
     * 入库类型名称
     */
    private String warehouseInventoryTypeName;

    /**
     * 入库仓库类型
     */
    private Long warehouseTypeId;

    /**
     * 入库仓库类型名称
     */
    private String warehouseTypeName;

    /**
     * 入库仓库
     */
    private Long warehouseId;

    /**
     * 入库仓库名称
     */
    private String warehouseName;

    /**
     * 仓库库区
     */
    private Long warehouseAreaId;

    /**
     * 仓库库区名称
     */
    private String warehouseAreaName;

    /**
     * 库区货架
     */
    private Long warehouseShelfId;

    /**
     * 库区货架名称
     */
    private String warehouseShelfName;

    /**
     * 货架货位
     */
    private Long warehouseShelfSpaceId;

    /**
     * 货架货位编号
     */
    private String warehouseShelfSpaceCode;

    /**
     * 料箱ID
     */
    private Long palletBoxId;

    /**
     * 料箱编号
     */
    private String palletBoxCode;

}
